package br.com.minhabiblia.view.form.salvarFavorito {
		
	import br.com.minhabiblia.view.componentes.MostraCursor;
	import br.com.minhabiblia.view.entidades.Favorito;
	import br.com.minhabiblia.view.entidades.Verso;
	import br.com.minhabiblia.view.servico.Servico;
	import br.com.minhabiblia.view.util.FormatadorUtil;
	import br.com.minhabiblia.view.util.PoolDados;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	import mx.events.FlexEvent;
	import mx.managers.PopUpManager;
	import mx.rpc.events.InvokeEvent;
	import mx.rpc.events.ResultEvent;
	
	public class JanelaSalvarFavorito extends JanelaSalvarFavoritoView {
		
		private static var pool : PoolDados = PoolDados.getInstancia();
		
		/* ************
		 * Construtores
		 * ************ */
		public function JanelaSalvarFavorito():void {
			super();
			addEventListener(FlexEvent.CREATION_COMPLETE, this.init);
		}
		
		/* *******
		 * Eventos
		 * ******* */				
		protected function init(event: FlexEvent):void {
			PopUpManager.centerPopUp(this);
			btSalvar.addEventListener(FlexEvent.BUTTON_DOWN, salvarVerso);
			var versos : Array = pool.dados.versos;
			txtVerso.text = FormatadorUtil.imprimeVersos(versos);
	    }
	    
		public function salvarVerso(event: FlexEvent):void {
			var verso: Verso = null;
			var versos : Array = pool.dados.versos;
			var favoritos : ArrayCollection = new ArrayCollection();
			var favorito: Favorito = null;
			
			for each (verso in versos) {
				favorito = new Favorito();
				favorito.capitulo = verso.capitulo.numCapitulo;
				favorito.livro = verso.capitulo.livro.nomeLivro;
				favorito.tags = txtTags.text;
				favorito.testamento = verso.capitulo.livro.testamento.descricao;
				favorito.texto = verso.texto;
				favorito.verso = verso.numVerso;
				
				favoritos.addItem(favorito); 
			}

			Servico.getServico("MinhaBibliaOnLineFachada", retornoFavoritarVerso, aguardarRetorno).getOperation("salvar").send(favoritos);			
		}

		public function aguardarRetorno(event: InvokeEvent):void {
			MostraCursor.setBusyCursor("Aguarde...", this);
		}

		public function retornoFavoritarVerso(event: ResultEvent):void {
			Alert.show("Verso(s) salvo(s) com sucesso!", "Minha Bíblia On Line");
			MostraCursor.removeBusyCursor();
			PopUpManager.removePopUp(this);
		}
		
	}
}